#ifndef __WATERPUMP_Init_
#define __WATERPUMP_Init_

#ifdef __cplusplus
extern "C" {
#endif

#include "apm32f0xx_gpio.h"
#include "apm32f0xx_eint.h"
#include "apm32f0xx_misc.h"
#include "apm32f0xx_syscfg.h"
#include "Board.h"
#include "stdio.h"
#include "mcu_api.h"	

#define   OUT1_PUMP    GPIO_ReadInputBit(GPIOB,GPIO_PIN_2)
#define   OUT2_PUMP    GPIO_ReadInputBit(GPIOB,GPIO_PIN_1)
#define   OUT3_PUMP    GPIO_ReadInputBit(GPIOB,GPIO_PIN_12)


#define   DRINK_HALL     (!GPIO_ReadInputBit(GPIOA,GPIO_PIN_4))	  //饮水盘
#define   FILTER_HALL    (!GPIO_ReadInputBit(GPIOA,GPIO_PIN_5))    //滤芯
	
extern u8 pump_stop_flag;	
extern	u8 HALL_flag;
	
	
	
extern	u8 filter_time;
extern u8 Pure_time;
extern u8 Clear_time_report;
	enum _HALL         //水泵工作模式
{
		_HALL_NULL,           //正常     
		_HALL_DRINK ,      	 // 没装饮水盘
		_HALL_FILTER,        // 没装滤芯
		_HALL_ALL  //都没装
};
 
	
	

	
enum pump_state         //水泵状态
{
		pump_right = 0,       //水泵正常工作
		pump_shortwater,     //水泵缺水
		pump_Stall          // 水泵堵转
};
 
enum _pump_mode         //水泵工作模式
{
		_pump_NULL,              
		_pump_continuity ,       //水泵连续
		_pump_interval ,         //间歇
//		_pump_clear             //清洗
};
 


void timer_day_report(void);

void Check_Pump_Water_state(void);
void HALL_Cheek(void);
void Waterpump_Init(void);
uint8_t PUMP_Read(void);
uint8_t HALL_Read(void);           //读取HALL信号
void PUMP_WATERPUR(u8 vall);
void PUMP_POWER(u8 vall);  // POWER
void PUMP_MOTOR(u8 vall);  //水泵开关
void PUMP_UV(u8 vall);   //UV灯开关
void PUMP_2GEAR(u8 vall);    //2档开关
void PUMP_3GEAR(u8 vall);    //3档开关
void PUMP_continuity(void);   //持续出水模式
void Record_Mode(void);   //记录上次工作模式
void Pump_clear(u8 Clear_time);
void PUMP_stop(void);
void Cheak_PUMP(void);
void PUMP_OFF(void);   //水泵关
void PUPM_interval(u8 on_time,u8 stop_time);   //间歇模式
void PUMP_Waterpur(void);
void pump_key_mode(void);
void Key_ON_OFF_Mode(void);
void Pure_water_Cheek(void);
#ifdef __cplusplus
}
#endif

#endif
